Control system and method for cycle-based processes

ABSTRACT

An apparatus for controlling operation of a processing machine has a computer preferably with a computer aided design program configurable to model a kinematic velocity profile of a point of interest on a machine to be controlled. A graphical user interface on the computer enables an operator to select desired velocity points for a motor drive controlling motion of the point on the machine. A curve fit is applied to the velocity points to realize a desired velocity profile for the motor drive and the point on the machine. The desired velocity profile is then integrated and scaled in order to obtain a scaled velocity profile that realizes an actual, or target displacement of the point as dictated by operation of the machine. By controlling operation of elements of a machine with velocity profiles, coordination of associated elements and points on the machine can be visualized by an operator selecting the velocity points for each drive of the machine. A method for implementing same is also disclosed.

RELATED PATENT DATA

This patent resulted from a continuation application of U.S. patentapplication Ser. No. 09/011,755, filed May 8, 1998, which is now U.S.Pat. No. 6,084,375 which is a U.S. National Phase Application of PCTApplication Ser. No. PCT/US96/14096, filed Aug. 28, 1996, which ispublished PCT International Application WO 97/09547, which claimspriority on U.S. Provisional Patent Application No. 60/003,169, filed onSep. 1, 1995, now abandoned.

TECHNICAL FIELD

This invention relates to control of multiple drive/multiple outputmachines for cycle based processes.

BACKGROUND ART

A variety of increasingly sophisticated mechanisms and control systemsare now being used in manufacturing, processing, and handling industriesto automatically control parts-handling and forming machines. Many ofthese machines utilize complicated mechanisms to feed and processmaterials. Furthermore, there exist many different mechanisms to feed,sort, convey, manipulate, and/or form materials. In some cases, allthese features are provided in a single machine capable of fast andefficient operation. Such sorting, feeding, work handling and processingmechanisms typically utilize drive control systems to articulate complexkinematic linkages in order to move working elements of the machine todesired positions. A drive control system includes an electric motor,such as an AC servomotor, and a servo drive motor controller. However,for the case of a multiple mechanism machine it becomes necessary tochoreograph operation of each drive and element. Such a combination ofmechanisms provides a multiple drive/multiple output machine suitablefor a number of cycle based processes. Typically, a control systemdirects operation of the drive controls to impart desirable cooperativemotions to all of the linkages. In this manner, a part can bemanipulated through a series of operating steps.

One way of imparting desirable kinematic properties to a multipledrive/multiple output machine is to design each mechanism withcombinations of kinematic linkages that have well-understood properties.Ratchets, cams, gears, chain and sprocket drives, linkages, toggles, andvarious coupling devices are typically used to create a linkage thatproduces a desired displacement-based movement of a part or element. Forexample, a Watts linkage is one device utilized to produce asubstantially straight line motion of an element in a machine. Variousother exemplary linkages are known for producing straight-line, ornearly straight-line motion. Additionally, other similar linkage designsare known for producing desired arcuate, circular, and rotary motions ofa machine element. However, a machine having single dedicated motioncannot be easily modified in order to suit a particular desired machineapplication.

Another way of imparting desirable kinematic properties to a multipledrive/multiple output machine is to utilize robotic arms to form eachmoving mechanism. Such arms are capable of manipulating an element orpart according to nearly any desired path of motion. Additionally, therobotic arms can usually be easily reprogrammed. Typically, acomputerized control system directs operation of the robotic arm,enabling production of such a desired path-wise motion. Such roboticmachines are choreographed according to a desired path-wise, orposition-based motion of each mechanism. In this manner, clearancebetween elements during an operation can be ensured. Furthermore,desired positioning of a part being operated on can be ensured, inrelation to a machine element doing the operating. However, robotic armsare not well suited for machines using repetitive cycle-based processes.

One problem encountered with utilizing kinematic linkages to position aworking element is the inability to vary the positioning of the elementor part over time and distance without redesigning the linkage. Redesignof the linkages typically takes a significant amount of machine setuptime. For example, a cam on a cam follower mechanism must typically bechanged in order to vary kinematic characteristics of a particularmachine element using the cam follower mechanism. The only possiblevariation available is to speed up or slow down operation of the cam,which complicates control of the device. However, movement is stilldirectly related to the shape of the cam, which remains the same.Therefore, there is a need to better control kinematics of machineelements in a way that allows for relative changes in velocity of theelement or part over time. Furthermore, there is a need to controlelements of a machine based on the velocities of each element in orderto produce smooth contacts between parts, and smooth transitions betweenprocessing steps being performed by a machine.

Another problem encountered with utilizing kinematic linkages toposition a working element is the complexity needed to produce a desiredmotion, especially when it is necessary to vary velocity of the element.For example, an indexing mechanism can be formed from an epicyclic gearand a cam. In such a construction, a planetary wheel and a cam are fixedrelative to one another. A carrier is rotated around the fixed wheel ata uniform speed. An index arm is supported at one point along thecarrier, and at another point along the follower. The arm moves relativeto the cam, along the follower to produce a non-uniform motion of thearm, having dwell periods. However, such a linkage proves rathercomplicated for producing a specific non-uniform rotary motion of thearm.

A further problem is encountered when utilizing robotic arms to positiona working element of a multiple drive/multiple output machine because acomplex control scheme is needed to choreograph timing and motions ofeach robotic arm. Typically, motion studies must be made with mocked-upmachines in order to ensure desired placement of each robot arm withrespect to the other arms of the machine.

Yet another problem with utilizing robotic arms on a machine resultsfrom the relatively high cost of configuring a multiple drive/multipleoutput machine. A typical robotic arm has up to six degrees of freedom,with as many as six independently operable solenoid motors configured toarticulate the arm to desired positions. Target positions are used tochoreograph the positioning of each arm over time. However, it isdifficult, if not impossible, to configure motion of each robotic armwith respect to the other arms based on velocity of the end element oneach arm. A velocity controlled motion would enable smoother contactand/or cooperation between machine elements. Therefore, there is a needto configure machine element motion between mechanisms based uponvelocities of each working element of the machine.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the invention are described below withreference to the following accompanying drawings.

FIG. 1 is a schematic side view representation of a multipledrive/multiple output die forming and cutting machine that utilizes avelocity drive control system in accordance with a preferred embodimentof the invention;

FIG. 2 is a graphical user interface on an engineering workstationimplementing the velocity drive control system of FIG. 1;

FIG. 3 an enlarged partial view of the graphical user interface of FIG.2 illustrating a “File Option” control panel;

FIG. 4 an enlarged partial view of the graphical user interface of FIG.2 illustrating an “Edit Option” control panel;

FIG. 5 is an enlarged partial view of the graphical user interface ofFIG. 2 illustrating an “Other Function” control panel;

FIG. 6 illustrates one exemplary velocity profile curve having a boundedarea which, when integrated by an integrator determines displacement,then is scaled to match the target displacement of the respectivemachine component/element.

FIG. 7 is a layout illustrating the assembly of FIGS. 8 and 9;

FIG. 8 is a first portion of FIG. 7 of a second embodiment graphicaluser interface on an engineering workstation implementing the velocitydrive control system of FIG. 1; and

FIG. 9 is a second portion of FIG. 7 of a second embodiment graphicaluser interface on an engineering workstation implementing the velocitydrive control system of FIG. 1.

BEST MODES FOR CARRYING OUT THE INVENTION AND DISCLOSURE OF INVENTION

A preferred embodiment of a control for directing multipledrive/multiple output machines for cycle based processes is generallydesignated with the numeral 10. For purposes of illustration, themultiple drive/multiple output machine is a thermal-forming machineconfigured for cycle-based operation, designated generally with thenumeral 12. Machine control 10 is implemented in a combination ofsoftware and hardware on an engineering workstation 14 using a ComputerAided Design (CAD) program 16. Alternatively, a personal computer, astand-along computer, or a shared computer can be used. Furtheralternatively, any software program capable of modeling machinekinematics and spatial relationships can be used. Workstation 14 has acentral processing unit (CPU) 18, one or more forms of memory 20,software 22 (including a windowing environment 24, interface software26, and the above CAD program 16), a graphical user interface 28, akeyboard 30, and a mouse 32. One suitable windowing environment isWindows 95™, an operating system introduced by Microsoft Corporation, ofRedmond, Wash. Another suitable windowing environment is Windows™3.X(e.g., 3.1), running on DOS, and was used to implement the embodiment ofFIGS. 2-5. One suitable CAD program configured to run on a Windows™environment is AutoCAD®, release number 11, sold by Autodesk, Inc. ofSausalito, Calif. Such environment is used to realize the embodiment ofFIGS. 7-9. Alternatively, any computer operating system suitable for usewith a user interface such as a graphical user interface can be used.

Thermal forming machine 12 includes a thermal forming rotary press 34and a feeding conveyor 36. Press 34 is raised and lowered onto a web 38of plastic material to be formed by the operation of a servo drive 40.Drive 40 comprises an AC servomotor and a computer controlled servodrive motor controller. The web of material is fed into press 34 from aroll 42, guided by rollers 44 that are driven with another servo drive46. Drive 46 is constructed similarly to drive 40. In operation, itbecomes necessary to choreograph motions of the press 34 and conveyor 36in order to optimize the production rate of parts being formed inmachine 12. For example, conveyor 36 is operated to feed web 38 whenpress 34 is open, allowing feeding of new material to be formed withinthe press. However, conveyor 36 is stopped when the press is closed, ornearly closed. Therefore, it is desirable to vary the velocity withwhich press 34 is opened and closed to allow for more time to feed web38 during a given cycle time of operation.

Thermal-forming press 34 has a platen 48 that is movable between openedand closed positions by rotary servo drive 40. Platen 48 engages againstbolster plate 50 when moved to the closed position. Drive 40, whichforms the motor and controller for driving the press, attaches to acrank arm 52 that moves the platen up and down as the drive rotates.Typically, a single revolution of drive 40 produces a correspondingcomplete press cycle, returning the press to a starting, or closedposition. For example, when drive 40 is at an initial rotated positionof 0 degrees, the press is closed onto the web 38. Similarly, when drive46 is rotated to 180 degrees, platen 48 is opened completely. Platen 48is slidably carried by four guide pins 54 supported vertically frombolster plate 50. Bronze guide bushings 56 are mounted and arranged inplaten 48 to slidably receive each pin 54. Additionally, drive 40 and adriven end of crank arm 52 are supported by mounting the drive atop anend of one of pins 54.

Thermal forming machine 12 of FIG. 1 is configured to vacuum moldthermal-formed plastic 57 from the web 38 of plastic material as it ispassed between the platen 48 and bolster plate 50. A vacuum source 58applies a vacuum to a heated piece of the web when platen 48 is closedonto bolster plate 50. The vacuum is applied via vacuum holes and feedlines formed within a female mold 60 of platen 48. Vacuum source 58 ispreferably formed from a vacuum pump and a pressure vessel in which avacuum is applied. A thermal heat source 62 is also formed directlywithin the face of mold 60 from one or more electrical resistanceheating elements (not shown). Alternatively, a separate oven can beprovided upstream of machine 12, heating web 38 to a desired moldingtemperature before it is advanced into machine 12.

A web retaining clamp 64 is shown positioned alongside machine 12 ofFIG. 1. Clamp 64 fixes web 38 from moving as platen 48 is closed ontothe web during heating and vacuum forming steps of operation. Whileplaten 48 is being raised, clamp 64 is released to allow web 38 to beadvanced in preparation for a subsequent part forming operation to beimplemented by the machine. For example, web 38 can be advanced into aseparate trim press where molded parts 57 are cut from the web. Apneumatic solenoid 66 is constructed and arranged to electricallyactivate vacuum source 58, thereby enabling application of vacuum duringpart forming by activating the source, and enabling release of vacuumduring release of the part 57 by deactivating the source. Similarly,pneumatic solenoid 68 is constructed and arranged to electricallyactivate and deactivate clamp 64.

In operation, drives 40, 46 and solenoids 66, 68 of FIG. 1 are activatedand deactivated according to desired velocity path profiles for drives40 and 46 by way of machine control 10. Machine control 10 is configuredin software to enable a user to draw desired velocity profiles (versustime) for drives 40 and 46 where they are viewed on display 28.Preferably, the profiles are drawn with the aid of a Computer AidedDesign (CAD) software package. In the past, drive controls have beenused to get a working element to a desired position without any concernover the velocity path that the element realizes in getting to thatposition. Typically, rotating drives have been driven at substantiallyconstant speeds to produce a desired displacement of a machine element,with the drive being turned off to stop the motion. Therefore, velocityprofiles typically could only be changed, or tailored, by modifying thekinematic linkage being driven by the drive.

However, for each moving element of a machine 12, a user inputs a targetdisplacement for a designated moving point of interest on the elementinto the computer workstation 14 that forms machine control 10. Forexample, if the fully opened spacing between platen 48 and plate 50 is30 inches, the target displacement would be 30 inches, since the platenface forms the moving point of interest on the machine. By plottingdesired velocity points for each point of interest over time anddisplaying them on screen display 28, a desired velocity profile curvecan be best fitted through the points to easily define a complexvelocity profile for each drive 40 and 46 of machine 12. The velocityprofile of each drive produces a desired velocity profile for anassociated point of interest being driven on the machine.

For example, velocity points 70-77 of FIG. 2 were selected and displayedby a user to define a desired velocity profile 80 for drive 40 as itmoves ram 52 and platen 48. Similarly, a velocity profile 82 for drive46 was also constructed, although the points have been omitted forpurposes of clarity. Display 28 is configured as a graphical userinterface, enabling visualization of each velocity profile 80 and 82 bya user during configuration. Once defined, the velocity profile, orcurve, is displayed, and an integration algorithm is used to calculatedthe area bounded by the velocity versus time curve. The integrationalgorithm is provided in software 22, stored in memory (a data storagedevice), and is implemented via CPU 18 to form an integrator. Such anintegrated area defines a derived displacement value of a point ofinterest on the machine that follows the desired velocity curve, orprofile in question. However, the desired velocity profile needs to beadjusted by a scaling factor so that the calculated displacement matchesthe actual, or target, displacement of the point on a machine elementbeing controlled. For the exemplary case of platen 48 having a 30-inchstroke, the area under curve 80 for a single complete cycle of drive 40needs to be scaled to equal 30 inches.

Preferably, the desired velocity curve 80 is successively multiplied byscalar quantities that change in magnitude in successively smallerincremental amounts so that the end displacement matches the targetdisplacement. Such a technique involves implementing an incrementalsearch method that detects a change in sign for a value X, between anincremental increase from X_(i) and X_(i)=Delta X, wheref(X_(i))*f(X_(i)+1)<0. When this condition occurs, a smaller incrementalchange is implemented, and the process is repeated. Essentially, theweighting factor is successively tuned in smaller increments, enablingeven closer scaling of the desired velocity profile to realize anintegrated area that matches the actual displacement of the machinepoint in question.

As shown in FIG. 2, a scaled velocity profile 80 has been constructedfor one drive 40 of machine 12. A user can integrate portions of profile80 to determine displacements of an associated point of interest on themachine. Hence, a user can identify displacement versus time, ordisplacement versus velocity information. With this informationavailable for drive 40, the user can draw a velocity profile 82 for anyremaining points of interest on other moving elements of the machine 12,based on the position of drive 40. Hence drive 46 of conveyor 36 whichcreates velocity profile 82 can be drawn such that movement of platen 48via drive 40 does not interfere with feeding of web 38 by conveyor 36.Essentially, this allows a user to draw velocity profiles for drivesbased on the velocities (or positions) of other drives. A single drivecycle display as pictured in display 28 of FIG. 2 can be used to displayany number of velocity profiles, for a machine having a correspondingnumber of machine element motor drives.

Preferably, a modern rotary electric servo motor drive, or actuatingdevice, is used for drives 40 and 46. Such a drive includes an ACservomotor and an associated servo drive motor controller. For example,one suitable AC motor is sold by Siemens AG, Automation Group,Automation Systems for Machine Tools, Robots and Special-PurposeMachines, P.O. Box 31 80, D-91050 Erlangen, Federal Republic of Germany.Additionally, one suitable servo drive motor controller is sold bySiemens as an analog feed drive including the SIMODRIVE 611-A TransistorPWM Inverters and Motors for AC Feed Drives. Such a drive is apredictable device that can very accurately position a machine elementto a desired position at a given time. Preferably, the associatedservomotor is a brushless servomotor. Typically, only a nominalallowable following error (+/−FE) is produced by such a drive.Furthermore, activation of associated machine components can betriggered based on velocity or position of a drive, by using thevelocity profile (or integrated displacement) of the drive.

For example, a predicted clearance position for platen 48 during closingthat is suitable for triggering closing of clamp 64 is depicted in FIG.2 at start trigger 90. For purposes of reference, start time forvelocity profile 80 indicates the 0 degree closed position for drive 40.Time line 84 indicates the 90 degree position of drive 40 as press 34 isopening. Time line 86 indicates the 180 degree position of drive 40where press 34 is fully open. Additionally, time line 88 indicates the270 degree position of drive 40 where press 34 is closing. Finally, theend time at point 77 for profile 80 indicates the 360 degree position ofdrive 40 corresponding to the closed position of press 34 at the starttime.

The actual clearance between platen 48 and plate 50 for a rotaryposition of drive 40 can be predicted by integrating the area of thevelocity curve 80 for drive 40 up to the point in time directly ofinterest. Hence, curve 80 is integrated from the start time up to timeline 90 to determine what clearance remains as press 34 closes. Suchclearance information is then used to set the position of time line 90,where solenoid 68 is triggered “on” by machine controller 10. Solenoid68 is then turned off at end trigger 92, upon opening of press 34sufficient to enable activation of conveyor 36. Essentially, a user isable to predict where a point of interest will be based on the rotatedposition of the respective motor drive. Similarly, the velocity of thepoint of interest could be used to determine where to triggeractivation/deactivation of associated devices for the machine 12.Furthermore, vacuum source 58 is turned on and off byactivation/deactivation of solenoid 66 at start/end triggers 94 and 96,respectively.

In order to place output events at peripheral devices, such as theon/off triggering of clamp 64 and vacuum source 58, an input/output(I/O) table is constructed in the time domain for each drive. Outputevents, such as triggering of an associated machine device, are thentriggered by turning on and off I/O independent of the actual position(or velocity) of a particular drive. Instead, a prediction is made ofposition (or velocity) from the I/O table and the present time in themachine cycle. The predict-ion is used to triggeractivation/deactivation of the associated machine device.

According to FIG. 2, velocity curve 80 is drawn by placing velocityboundary points 70-77 on display screen 28. Points 70-77 comprisevelocity data that at least in part defines the desired velocity versustime profile. Curve 82 is similarly drawn. A third order polynomialapproximation (curve fit) is then implemented in software to fit anddraw a best-fit curve through (or near) points 70-77. Alternatively, oneof several other approximation techniques can be used to best fit acurve to points 70-77 in order to realize the associated desiredvelocity curve 80. For example, a least-squares, an exponential, aFourier Series, or another polynomial curve fit (for example,Lagrangian) could be used. The general form for a third order polynomialapproximation (and the alternative curve fitting techniques) is readilyknown in the art, and can be readily obtained from a treatise onmathematics.

Once a user has drawn a candidate velocity curve 80 on display screen28, the area is integrated and scaled to fit the desired finaldisplacement that is defined by the actual displacement of the point ofinterest on the machine element being driven. If the resulting candidatevelocity curve appears undesirable to a user, from direct observation,or from comparison with other viewed velocity curves for other machineelements, points 70-77 can be moved, other points can be added, or somepoints can be deleted, as desired by the user. Hence, the user canmodify the candidate velocity curve until a suitable curve is realizedon display 28. A movable cursor provided by the graphical user interfaceand viewable on display 28 then triggers display of the correspondingdisplacement according to where the cursor is positioned on the timeline of a velocity curve. Alternatively, a keyboard can be used to keythe points into the computer. For example, if the cursor (pointer) isplaced at time 1.536 seconds in FIG. 2, the displacement window mightdisplay a 36 inch displacement for drive 40. If actual displacement ofpress 34 is 30 inches at this time, a scaling factor of 30/36 is thenmultiplied against the entire velocity profile 80, scaling the amplitudeaccordingly. Such scaled velocity profile, when integrated, wouldindicate the predicted position of drive 40 at 1.536 seconds.

Velocity profiles, such as profiles 80 and 82, are realized at theirrespective drives by creating a position versus time table, thendownloading the table to a motion card associated with each drive. Theoverall machine cycle time can then be changed by multiplying the timebetween position elements (δτ) by some scalar. For example, a user maywant an overall cycle to take 15 seconds instead of 10 seconds.Therefore, δτ should be multiplied by 1.5 and downloaded to the motioncard, resulting in a 15 second cycle time.

EXAMPLE 1

According to FIG. 2, an exemplary screen display 28 is depicted for acomputer monitor on a typical engineering workstation using a CADprogram with this invention. An exemplary machine operation cycle isdepicted for an example user-interface of the cycle-based controlimplemented by machine controller 10 (of FIG. 1). A plurality of “AXIS”buttons 98 and “10 POINT” buttons 99 are graphically displayed acrossthe top of screen display 28 in a “DRIVE-IO” sub-menu 100. For purposesof this disclosure, “IO” refers to input/output. Buttons 98 and 99 aregraphically selected by turning them on and off with a cursor throughuse of mouse 32 (of FIG. 1). Alternatively, a touch screen display canbe substituted for display 28, enabling a user to directly turn eachbutton on and off. “AXIS” buttons 98 are available for up to seventeendifferent drives; namely, Drive0-Drive16. For the device of FIG. 1, onlytwo buttons are used to enable and disable set-up features for drives 40and 46. Similarly, “IO POINT” buttons 99 are available for up toseventeen different machine output devices; namely, Output0-Output16.However, the device of FIG. 1 uses only the first two buttons 99 to turnon and off solenoids 66 and 68 which enable and disable vacuum source 58and clamp 64, respectively. Furthermore, a left side of display 28contains a “FILE OPTIONS” sub-menu 102, an “EDIT OPTIONS” sub-menu 104,and an “OTHER” sub-menu 106. Each sub-menu contains buttons for carryingout set-up and operation features for the machine controller. Details ofeach sub-menu will be described below with reference to FIGS. 3-5.

“DRIVE-IO” sub-menu 100 of FIG. 2 is used to set up control of machineservo drives 40 and 46 to move machine elements, and setup control ofsolenoids 66 and 68 to enable/disable related machine outputs. An “AXIS”button 98 assigned to drive 40 is selected with a cursor via the mouse,which highlights (depresses) and turns on the selected button 98,enabling the “EDIT OPTIONS” sub-menu 104. The “EDIT OPTIONS” sub-menuincludes associated buttons for defining and/or deleting velocity points70-76 and triggering calculation and display of the best-fit velocitycurve 80. An “IO POINT” button 99 assigned to solenoid 66 is selectedwith the cursor via the mouse, by highlighting (depressing) the buttonto turn on an associated machine output (such as vacuum source 58). Aleft mouse button is configured to turn off an assigned output, and aright mouse button is configured to turn on the output.

Referring to FIG. 3, “FILE OPTIONS” sub-menu 102 includes three buttonsthat are selectable to perform operations on files “loaded to”/“savedfrom” memory. Memory 20 (of FIG. 1) includes a floppy disk drive thatenables loading and saving of machine cycle information to the machinecontroller 10. A load cycle button 110 is selected with the cursor inorder to load a desired machine cycle from a disk. A save cycle button112 is selected in order to save a newly constructed machine cycle to adisk, and to download the cycle to the controller. A clear velocitybutton 114 is selected to clear velocity information for selected axes(servo drives), or to clear output information for a selected output.

Referring to FIG. 4, “EDIT OPTIONS” button 104 has six buttons thatenable a user to perform editing of velocity boundary points 70-77,curve fitting and scaling of velocity profiles 80, and setting of startand end of selected machine element cycles. An “ADD” button (+) 116 isconfigured with two operating modes. When an “AXIS” button 98 isselected (turned on), selection of the “ADD” button 116 adds a velocityboundary point 70-77 to a velocity curve being constructed. Bypositioning the cursor at a desired location and depressing the “ADD”button, the point is added to the curve. When an “IO” button is selectedand the “ADD” button 116 is depressed, depressing a left mouse buttonturns on an output and depressing a right mouse button turns off theoutput. A “DELETE” button 118 when depressed deletes a cursor selectedvelocity boundary point 70-77. A “MOVE” button 120 when depressed movesa cursor selected velocity boundary point. A “DRAW” button 122 isdepressed to trigger the third order polynomial curve fit through points70-77 which draws a curve through the points, then scales the curve torealize the desired integrated displacement actually implemented by themachine element in question. A “SET START” button 124 is selected to setthe start of motion for a velocity curve being constructed. The cursoris placed at the desired start location on graphics window 108, thenbutton 124 is depressed to select the point. Finally, a “SET END” button126 is depressed while the cursor is positioned at the desired location,setting the end of the total machine element cycle driven by the drivein question.

FIG. 5 illustrates layout of buttons on “OTHER” sub-menu 106. A“POSITION” button 128 is depressed to enable a screen-display cursorthat indicates position along a velocity profile corresponding to thelocation of the cursor. A “TIME” button 130 is selected to enable ascreen-displayed cursor that indicates time corresponding to the cursorlocation with respect to a velocity profile. Finally, an “EXIT” button132 is selected to close the machine cycle presently being displayed bythe graphical user interface 28.

FIG. 6 illustrates area 134 bounded by velocity profile curve 82 as itis integrated by the integrator to determine the displacement, but priorto being scaled. One of any available numerical integration routinesthat is capable of calculating the area bounded by a curve can be usedto calculate the resulting displacement. For example, a simple algorithmthat sums the area under the curve in discrete sub-sections can be used.

According to one exemplary implementation of an operation cycle forthermal-forming machine 12 in FIG. 1, machine controller 10 isprogrammed to control operation of a multiple drive/multiple outputmachine cycle using the configurable velocity profiles of thisinvention. One “AXIS” button 98 is assigned to Drive0, whichenables/disables operation of servo drive 40 to operate rotary press 34.As configured in FIG. 2, rotary press 34 is completely open when drive40 is at 180 degrees, and is closed when at 0 degrees. A second “AXIS”button 98 is assigned to Drivel, which enables/disables operation ofservo drive 46 to operate feed conveyor 36. Drivel (servo drive 46)advances web 38 for each upcoming forming cycle.

However, the web 38 (product being processed) cannot be advanced untilrotary press 34 has raised platen 48 via servo drive 40 at least beyond90 degrees. Furthermore, conveyor 36 must be completely stopped whenservo rive 40 is at 270 degrees. Essentially, when platen 48 of press 34is moving from 0 to 90 degrees and from 270 to 360 (or 0) degrees, nofeeding can occur due to clearance requirements between the press andweb. Therefore, it is desirable to move platen 48 as quickly as possiblewhen in these positions in order to maximize the time available in agiven machine cycle for transferring web 38 via conveyor 36.Additionally, it is desirable to slow platen 48 down from 90 to 270degrees in order to allow feed conveyor 36 enough time to complete thefeed of new web material into the press for the next cycle of operationfor the press.

Once velocity profile 80 for press 34 has been drawn into place, thevelocity profile 82 for conveyor 36 is easily drawn by a user with theaid of the visual assistance of display 28 (of FIG. 2). A user canreadily see the overlaid velocity profiles, or curves, 80 and 82 ondisplay 28, enabling construction and placement, one with the other(s),to prevent undesirable motions with respect to each other. As can beclearly seen in FIG. 2, velocity profile 82 has been constructed anddisplayed against velocity profile 80 so that feed conveyor 36 moves web38 only within the required 90 to 270 degree positions of servo drive 40and press 34.

Additionally, according to FIG. 2, air solenoid 68 is turned on whenrotary press 34 reaches 90 degrees, closing clamp 64. Solenoid 68 isturned off when press 34 reaches 270 degrees. To turn the solenoid on,an “I/O POSITION” button 99 is selected, and the left mouse button isused to set a start trigger 90 at the rotary press's 90 degree mark. Toturn the solenoid off, the right mouse button is used to set an endtrigger 92 at the rotary press's 270 degree mark. Near the end of themachine element cycle defined by velocity profile 88, solenoid 66 isturned on when rotary press 34 is nearly closed. In this manner, avacuum is applied by vacuum source 58 onto web 38 just prior to thebeginning of the next machine cycle. Solenoid 66 is turned off justafter the next cycle begins. The left and right mouse buttons are thenused to set a start trigger 94 and an end trigger 96. Finally, the endof the entire machine cycle is defined by selecting an end of cycle mark144. The end of cycle mark is set by selecting the “SET CYCLE END”button 126 and clicking on the left mouse button at the selectedlocation. As shown in FIG. 2, mark 144 is located at 2.400 seconds,which allows for a 100 millisecond form time for thermal forming machine12.

FIGS. 7-9, when assembled together according to the layout of FIG. 7,illustrate a second embodiment graphical user interface implemented on apersonal computer. The graphical user interface of FIGS. 7-9 isimplemented in Windows 95™. Display 128 enables drag and dropcapabilities when configuring desired velocity profiles andenabling/disabling desired axes and IO devices. Generally, the velocityprofiles for a thermal former and a feed device are depicted in overlay.Additionally, vacuum and form air features can be overlaid at desiredlocations with respect to the velocity profiles, enablingactivation/deactivation of related IO devices. An axis list 198 forselecting the desired machine axis is set up in the form of a scrollbar. Similarly, an IO list 199 is also set up in the form of a scrollbar. A user merely uses a mouse to pick the desired item from each listby scrolling up or down through the list of options. A heading bar 200enables display of a Customer name and/or a machine name to becontrolled by the servo drive system of this invention. A menu bar 202enables selection of previously constructed velocity profiles (recipes)saved in memory, selection of particular machine setups saved in memory,configuration of IO devices such as heating elements of an oven,controller setup, IO setup, memory configuration and maintenance, etc.Button bar 206 enables the turning on, or start up of a machine beingcontrolled by the servo controlled system of this invention, as well asturning on of associated IO device, such as heat. Button bar 208 enablesdisplay of desired functional or data features being displayedgraphically via display 128, or being implemented via the controller.

Even further, the velocity profiles of this invention could easily becreated in velocity versus position, then converted based upon operatingspeed of a motor being realized via a controller. Even further,conversion could be made to depict acceleration versus time for eachpoint of interest on the machine being controlled.

What is claimed is:
 1. A machine control apparatus, comprising:processing circuitry; a user interface communicating with the processingcircuitry and configured to receive user input commands defining atleast in part a desired velocity versus time profile of a point ofinterest on a machine; a data storage device configured to store userinput commands and a target displacement value for the moving point ofinterest, the target displacement value associated with an actualphysical displacement of the point of interest on the machine; anintegrator communicating with the processing circuitry and configured tointegrate the desired velocity versus time profile and derive adisplacement value for the moving point of interest; a comparatorcommunicating with the processing circuitry and configured to comparethe target displacement value with the derived displacement value forthe point of interest; and the comparator configured to output a scalingfactor calculated by the processing circuitry and operative to scale thevelocity profile to realize the target displacement value as integratedover a time domain of interest.
 2. The machine control system of claim 1wherein the data storage device is configured to store at least onepreviously constructed velocity versus time profile, and wherein thevelocity versus time profile comprises user inputs.
 3. The machinecontrol apparatus of claim 1 wherein the data storage device is furtherconfigured to store configuration settings for at least one input/outputdevice.
 4. The machine control apparatus of claim 1 wherein the datastorage device is further configured to store setup values on themachine.
 5. A method for controlling a processing machine, comprising:providing a working element of the processing machine and a motor driveconfigured to move the working element; characterizing a desiredvelocity profile for a desired point on the working elementcorresponding to operation of the motor drive; integrating thecharacterized velocity profile over a desired period of time tocharacterize a derived displacement value; providing a targetdisplacement value for the desired point; comparing the targetdisplacement value with the derived displacement value to obtain ascaling coefficient sized to scale the derived displacement to realizethe target displacement; and scaling the desired velocity profile suchthat, when integrated, the velocity profile provides the actualdisplacement for the working element.
 6. The method of claim 5 furthercomprising storing the desired velocity profile in the memory.
 7. Themethod of claim 5 wherein scaling the desired velocity profile comprisesapplying a scaling factor to the desired velocity profile such that,when integrated, the velocity profile provides the actual displacement.